南湖基金小镇,致力于提供优质的转让信息对接服务 转让信息对接平台(NSTIP)
置顶 我有
问题
联系
客服
区块链内的共识与信任——对常见误解的辨析
2018-02-26

微信图片_20180131095250.jpg

作者简介:邹传伟,经济学博士,哈佛梅森学者,南湖金服合伙人、南湖互联网金融学院常务副院长。曾获首届(2014年度)孙冶方金融创新奖。此文得益于与多位师友的讨论,作者对他们表示感谢。

声明:此文为纯粹学术探讨,不够成对任何项目的投资意见。

本文共5900字左右,知识点较多,阅读完成预计需要15分钟左右。


共识(consensus)和去信任(trustless)是与区块链有关的两个非常重要的基础概念。这两个概念脱胎于技术背景,很难在经济学上予以严格定义,却很容易因望文生义、牵强附会而被误解。在目前关于区块链的讨论中,不管是学术论文,还是媒体文章,这些误解是普遍存在的。比如,将共识等同于消除了信息不对称或实现了共同信念,将分布式账本及其变动等同于资产及相关交易,将去信任等同于没有信用风险。这些误解低估了区块链应用落地的难度,也使得对区块链的理性、有建设性对话难以进行。

本文对若干常见误解进行了初步辨析。此外还有很多似是而非的观点,深究后不难发现不能自圆其说之处,辨析这些误解需要更多精细分析。很多区块链项目构建在对共识和信任的误解之上,靠漫无根据的臆想支撑着其发行代币的投机、炒作甚至欺诈,但在实践中是很难落地的。

三类共识的界定


综观对区块链共识的讨论,实际上涉及三类共识:算法共识、决策共识和市场共识。算法共识最常见,工作量证明(Proof of Work,POW)、权益证明(Proof of Stake,POS)和拜占庭协议等针对的就是这类共识,而后两类共识的重要性尚未被区块链行业普遍认识到。很多误解就是因为混淆了这三类共识,或者泛化了共识的内容和性质。

1.算法共识算法共识属于分布式计算领域中的问题,目标是在存在各种差错、恶意攻击、可能不同步的对等式网络(Peer-to-Peer Network)中,并且在没有中央协调的情况下,确保分布式账本在不同网络节点上的备份的文本是一致的(不是语义一致)。

2.决策共识。决策共识指在群体决策中,群体成员发展并同意某一个对群体最有利的决策。决策共识常见于政治活动和公司治理中。比特币社区关于“扩容”、分叉的讨论可以在决策共识的框架下理解。决策共识的要件包括:(1)不同的利益群体;(2)一定的治理结构和议事规则;(3)相互冲突的利益或意见之间的调和折衷;(4)对成员有普遍约束的群体决策(这个决策不需要符合所有成员原先的立场)。

3.市场共识。市场共识体现在市场交易形成的均衡价格中(详细分析见第9点“市场共识与算法共识的比较”)。区块链内资产参与交易时(不管是区块链内资产之间交易,还是与区块链外资产交易),就涉及市场共识。

4.三类共识之间的关系。算法共识是网络节点运行算法规则的产物,决策共识是由人(包括网络节点的拥有者或控制着,而非网络节点本身)来制定或修改算法规则,市场共识则是在算法共识和决策共识的基础上由市场机制产生。尽管这三类共识之间有紧密联系,本文为讨论的清晰性,会尽量在它们之间做出区分。

算法共识是什么,不是什么?


5.算法共识的产生。不管使用工作量证明还是权益证明, 算法共识都是算法规则(包括智能合约)的产物。比如,比特币算法规则主要是:(1)随机数(nonce)是“挖矿”问题的解(即复杂但验证容易的SHA256数学难题);(2)区块中的交易在数据结构、语法规范性、输入输出和数字签名等方面符合预先定义的标准。这些算法规则加上对哈希指针的使用,确保了比特币分布式账本的多个备份的文本是一致的。

对等式网络的节点(特别是负责生成和验证区块的节点)有诚实节点和恶意节点之分。诚实节点遵守算法规则,能完美地发送和接收消息,但其行为完全是机械性的。恶意用户则可以任意偏离算法规则。在一定限制条件下(比如,比特币要求50%以上算力由诚实节点掌握),算法规则保证了算法共识的可行性、稳定性和安全性。尽管如此,在对等式网络中,分叉仍不可避免。

6.算法共识的内容。算法共识的内容只能在算法规则下理解。比如,对比特币,算法共识只决定截至某一区块,各公钥对应的未花费交易输出数量(Unspent Transaction Output,UTXO)以及公钥之间转移比特币的记录。对比特币创世区块中的“The Times 03/Jan/2009 Chancellor on brink of second bailout for banks”,按照算法规则,节点不会验证这句话的真实性或准确性。因此,这句话本身就不属于算法共识的内容,只表示与中本聪有关的那个公钥在那个时点上做了这样一个发布。如果这句话的发布者没有确保其真伪,仅凭写入区块链远不足以保证这句话的真实性(见第12点“区块链内和链下的一致性和同步性”的进一步讨论)。同理,比特币区块中嵌入的广告、私人讯息等也不属于算法共识的内容。

7.算法共识的性质。作为诚实节点机械性运行算法规则的产物,算法共识不表示节点的所有者或控制者在语义上完全认同分布式账本的全部内容。特别是,算法规则适合处理数量化、含义明确、能用程序呈现的信息(“硬信息”),不适合处理定性的、要结合上下文才能理解的信息(“软信息”)。后一类信息即使写入区块(比如比特币创世区块中的那句话),也往往不属于算法规则的处理对象或算法共识的内容。算法共识就好比很多人手上都有某一历史档案的复印件(相当于分布式账本的多个备份),他们知道这些复印件在文本上一致,但不一定完全认同历史档案的内容,不同人对历史档案的理解也可以有差异。

因此,要结合算法规则才能分析算法共识能否降低信息不对称以及降低的程度。至于完全的信息对称,只存在于理论设想的完美情景中,不是算法共识+分布式账本能实现的,也不应成为其目标。第15点“分布式账本与信用风险评估”将继续讨论这个问题。

8.算法共识与熵的类比。有观点认为,区块链内的共识通过使分布式账本在不同节点上的备份的文本一致,降低了对等式网络中的熵,而降低熵需要消耗能量,就体现为实现共识的成本(在比特币上就是“挖矿”成本)。这个观点有一定合理性,但容易忽视算法共识与熵的一个关键不同:为降低熵而消耗的能量是一个在物理学上可计算的客观量,而实现算法共识的成本则与市场结构有很大关系。

比如,自比特币区块链运行以来,“挖矿”工具从GPU升级为专门芯片,耗电量逐年递增,但比特币区块一直保持在平均每10分钟产生1个,算法共识的安全性和效率没有显著提升( 比特币网络节点增多,在一定意义上反映了算法共识的接受范围扩大)。算力和耗电量的攀升更像是“囚徒困境”驱动下的“挖矿军备竞争”。因此,实现算法共识的成本远非一个可计算的客观量,算法共识的价值不能用实现其的成本来衡量。

比特币价格由市场共识决定


(第9、10点的分析对其他数字加密货币也成立)


9.市场共识与算法共识的比较。市场共识是市场机制的产物。市场机制是一个经济学概念,核心是交易和竞争。市场机制解决的问题远比算法规则要复杂。对同一商品,不同买家和卖家对其的估价不同。市场能匹配供给和需求,均衡时商品供给等于需求,均衡价格就代表了供给者和需求者一致能接受的价格。尽管市场参与者对商品仍可能有自己的估价,但在任何时点上只能按该时点的市场价格进行交易。这就是市场共识的含义。市场共识不意味着价格稳定:市场均衡的标志是供需平衡(或市场出清),与价格波动可以并行不悖。

哈耶克认为,与商品供需有关的信息分散存在于社会中,价格是汇聚这些信息的最有效机制。鉴于信息的分散性以及市场参与者激励、互动的复杂性,市场机制不可能由算法规则来模拟或替代(实际上,算法规则也很难模拟或替代决策共识的实现过程)。

10.比特币价格由市场共识而非算法共识决定。分布式账本确保交易记录不会被篡改,比特币不会被伪造或者双重支付。一旦这个有保障,比特币兑法定货币的价格就主要由市场机制决定,而非由区块链内的算法共识决定(比特币的需求与区块链的一些特点有关。比如,地下经济对比特币的需求就与区块链的匿名特点有关)。

有大量研究和实践已经证明(包括我国在价格双轨制改革期间的实践),市场价格不可能由机器算出;否则,人类就不需要市场机制了。国内近年来就大数据能否实现计划经济的讨论,可以视为这个问题的“回响”。此外,实现算法共识的成本并不构成比特币价格的支撑(感兴趣的读者可以参考拙著《泡沫与机遇——数字加密货币和区块链金融的九个经济学问题》)。

市场共识受算法共识和决策共识的影响:(1)如果分布式账本的安全性没有保障(即“算法共识”失效),比特币的市场价格将受到毁灭性冲击;(2)2017年比特币社区对“SegWit2x”的讨论(将单个区块的大小从1M提升到2M),对当时比特币价格走势有明显的影响,就体现了决策共识对算法共识的影响。

区块链与经济活动的记账清算


11.区块链对账目维护和结算的影响。经济活动大致分为三个环节:(1)涉及的资产需要相应的所有权确认和登记制度;(2)交易会引发资产所有权的变更和交易对价的支付(即结算);(3)交易完成后,交易双方需要更新各自账目以反映经济活动。这三个环节都需在一定的法律法规和行业规范的约束下进行。传统上,交易双方确认交易后,按照权责发生制(或其它会计确认制度)更新各自账目,变更资产所有权并支付交易对价。此时,账目维护和结算是分开进行的。

区块链的两个特点使其能提高经济活动的效率:第一,如果交易涉及区块链内资产(比如数字加密货币),那么相关账目维护和结算是同时进行的。比如,Alice向Bob转了一笔比特币,这笔比特币交易被记入区块链的同时,Alice和Bob的公钥的未花费交易输出数量(可以理解为比特币区块链内的账户余额)也同时更新。这一特点非常重要。区块链内资产被交易时,不会形成结算在途资金,降低了结算风险。而在目前的国际汇款中,资金从汇出账户划走直到被汇入账户收到,往往需要几个工作日的时间。

然而,区块链无法做到实时结算:(1)一笔交易从被发布在对等式网络上,到被记入一个区块并接入区块链,是需要时间的,这个时间取决于区块链的通量(throughput,可以用产生一个区块的平均耗时来衡量)和区块大小;(2) 分叉问题会延迟区块链内资产交易的确认时间,一笔交易从被记录在区块链内,到被交易双方以一定的置信度确认,中间还需等待,比如一笔比特币交易需要连续得到6个区块的确认;(3)因为分叉问题,区块链只能在概率意义上确保结算的最终性。尽管该概率随时间流逝趋向100%,但永远到不了100%,而且即使概率能到100%,也与确定性事件有本质差别(后面这一点涉及概率论上的一个微妙命题:发生概率为100%的事件,并不是确定要发生的事件)。

第二,区块链方便交易双方建立并维护共享的、同时化的账本,这有助于解决一些协调问题,促进形成新的劳动分工关系。对此问题的进一步分析涉及基于区块链的分布式组织,不在本文的研究范围内。

12.区块链内和链外的一致性和同步性。当交易涉及区块链内(区块链可能不止一条)和链外的资产或信息时,这是一个突出问题。王永利先生在《直击记账清算下的货币金融裂变》(经济观察网,2018年2月12日)提出:“如果不是网络系统内生资产,而是线下现实世界各种不同的资产,如何实现其线上交易?大量不同的区块链网络平台并存,如果没有统一的网络协议,跨平台的价值转移如何安全快捷合法进行?”

首先,需要确保区块链外资产或信息被准确映射或记录到区块链内。对区块链外资产而言,使用电子凭证(digital token)来代表是一个可行方案,但需要一个受信任机构来确保电子凭证与资产之间的对应关系。对区块链外信息而言,oracle system(https://blog.ethereum.org/2014/07/22/ethereum-and-oracles/)是一个可行方案。如果资产“上链”过程出现差错或者信息源头不准确,分布式账本再安全也只是“以讹传讹”。

其次,如何既在操作层面,也在法律意义上,确保区块链外的资产、交易与它们在区块链内的映射、记录同步更新?这里面涉及非常复杂的技术问题,却又远非单靠技术就能解决的。

13.分布式账本的现实约束力。如果没有相应制度安排(不管是正式法律法规,还是非正式习俗和社会惩罚等),分布式账本只是一个记账工具,对区块链外的世界的约束力很弱。这里面的逻辑很简单。比如,民间的借条,债务人按习俗有还款义务。如果债务人不还钱,债权人到政府打官司,政府会支持债权人的权利。习俗和政府裁决等就是借条背后的制度安排,没有这些制度安排,借条就只是一纸记录而已。类似地,区块链要应用到土地、不动产、汽车和主流金融资产(区块链内的金融资产仍是一个有待讨论的问题)等的登记、变更和交易中,必须有相应的法律保障。

去信任环境下的信用风险

去信任(trustless)≠没有信用风险。去信任源于区块链内资产被交易时,账目维护和结算同步进行这一安排(见第11点“区块链对账目维护和结算的影响”)。设想Alice以比特币向Bob买入某一商品。Alice向Bob支付比特币这一过程,无需两人之间有任何了解,就可以在区块链内有保障地进行。这是去信任的真正含义,但去信任只适用于这类交易场景,不宜泛化理解。

但在交易的另一端,Alice如何确保Bob会按时向她交付合格的商品?只要交易涉及区块链外、非实时交割的资产,就存在不容忽视的信用风险。此外,基于区块链内资产的借贷活动,也涉及信用风险。信用风险反映在不确定的跨期交易中,有清偿义务的一方没有意愿或能力偿付的风险(不管是用货币,还是用商品来偿付)。如果交易双方之间没有任何了解,他们对彼此信用风险的评估可能处于非常高的水平,并引发逆向选择和道德风险等问题。只有在识别信用风险、准确评估信用风险并引入有效的风险防范措施后,很多交易才能进行。

比如,在暗网交易中,交易平台经常设立第三方托管账户(escrow account)。买方先将比特币打入第三方托管账户,等收到商品并确认后,才通知交易平台将前述比特币转给卖方。如果没有第三方托管账目这个增信手段,比特币忠实拥趸之间的交易也会大幅减少。

15.分布式账本与信用风险评估。有观点认为,分布式账本能记录区块链参与者的所有交易信息,并且全网公开,因此能建立起参与者之间的信任。这个观点有一定合理性,但容易失之于理想化。

首先,第7点“算法共识的性质”已提到,信息不对称不可能被算法共识+分布式账本消除。此外,区块链内的信息不一定是对信用风险评估最有价值的信息,债务人还可能有大量区块链外的行为不能被记录在区块链内,或者大量不能被观测的行为,所以根据区块链内信息来评估信用风险总是有偏差的。

其次,即使区块链内记录了某一人或机构的充足信息,这些信息也有助于准确评估其信用风险,也不意味着不存在信用风险。现实中,除了中央银行总能通过印钞来偿付自己的本币债务以外,其余任何人和机构都有信用风险,哪怕是信用评级为AAA的政府机构也不例外。因此,对区块链内的参与者,远非任何人之间都建立了信任关系并可进行任何交易。

最后,信用风险评估有很强主观色彩,不可能基于算法共识来产生。实务中,一般由专家评级、评级模型(包括AI)给出信用评级或评分,或从股票、债券、CDS等市场的价格中分离出违约概率的估计(相当于提取市场共识中蕴含的信息)。


微信图片_20180131095325.jpg